ಮ್ಯಾನುಯಲ್ ಆಡಿಟ್ಗಳನ್ನು ಮೀರಿ ಮುಂದುವರಿಯಿರಿ. ನಿರಂತರ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಣೆಗಾಗಿ ಸಿಂಥೆಟಿಕ್ ಮಾನಿಟರಿಂಗ್, RUM, ಮತ್ತು CI/CD ಯೊಂದಿಗೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಪ್ರೊಫೈಲಿಂಗ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಕಲಿಯಿರಿ.
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಪ್ರೊಫೈಲಿಂಗ್ ಆಟೋಮೇಷನ್: ನಿರಂತರ ಮೇಲ್ವಿಚಾರಣೆಯ ಒಂದು ಆಳವಾದ ನೋಟ
ಡಿಜಿಟಲ್ ಆರ್ಥಿಕತೆಯಲ್ಲಿ, ವೇಗ ಕೇವಲ ಒಂದು ವೈಶಿಷ್ಟ್ಯವಲ್ಲ; ಅದೊಂದು ಮೂಲಭೂತ ನಿರೀಕ್ಷೆಯಾಗಿದೆ. ಪ್ರಪಂಚದಾದ್ಯಂತದ ಬಳಕೆದಾರರು, ಹೆಚ್ಚಿನ ವೇಗದ ಫೈಬರ್ ಹೊಂದಿರುವ ಗಲಭೆಯ ನಗರಗಳಿಂದ ಹಿಡಿದು, ಮಧ್ಯಂತರ ಮೊಬೈಲ್ ಸಂಪರ್ಕಗಳಿರುವ ಗ್ರಾಮೀಣ ಪ್ರದೇಶಗಳವರೆಗೆ, ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ವೇಗವಾಗಿ, ಸ್ಪಂದಿಸುವಂತೆ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿರಬೇಕೆಂದು ನಿರೀಕ್ಷಿಸುತ್ತಾರೆ. ಕೇವಲ 100 ಮಿಲಿಸೆಕೆಂಡ್ಗಳ ವಿಳಂಬವು ಪರಿವರ್ತನೆ ದರಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು, ಮತ್ತು ನಿರಾಶಾದಾಯಕ ನಿಧಾನಗತಿಯ ಅನುಭವವು ಬ್ರ್ಯಾಂಡ್ನ ಖ್ಯಾತಿಯನ್ನು ಶಾಶ್ವತವಾಗಿ ಹಾಳುಮಾಡಬಹುದು. ಅನೇಕ ಆಧುನಿಕ ವೆಬ್ ಅನುಭವಗಳ ಹೃದಯಭಾಗದಲ್ಲಿ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಇದೆ, ಇದು ಒಂದು ಶಕ್ತಿಯುತ ಭಾಷೆಯಾಗಿದ್ದು, ಇದನ್ನು ಪರಿಶೀಲಿಸದೆ ಬಿಟ್ಟರೆ ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಡಚಣೆಗಳ ಗಮನಾರ್ಹ ಮೂಲವಾಗಬಹುದು.
ವರ್ಷಗಳಿಂದ, ಕಾರ್ಯಕ್ಷಮತೆಯ ವಿಶ್ಲೇಷಣೆಯ ಪ್ರಮಾಣಿತ ವಿಧಾನವು ಮ್ಯಾನುಯಲ್ ಆಡಿಟ್ಗಳನ್ನು ಒಳಗೊಂಡಿತ್ತು. ಒಬ್ಬ ಡೆವಲಪರ್ ಲೈಟ್ಹೌಸ್ನಂತಹ ಸಾಧನವನ್ನು ಚಲಾಯಿಸಿ, ವರದಿಯನ್ನು ವಿಶ್ಲೇಷಿಸಿ, ಕೆಲವು ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಮಾಡಿ, ಮತ್ತು ನಿಯತಕಾಲಿಕವಾಗಿ ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತಿದ್ದರು. ಇದು ಮೌಲ್ಯಯುತವಾಗಿದ್ದರೂ, ಈ ವಿಧಾನವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಮಯದ ಚಿತ್ರಣವಾಗಿದೆ. ಇದು ಪ್ರತಿಕ್ರಿಯಾತ್ಮಕ, ಅಸಮಂಜಸ, ಮತ್ತು ಕೋಡ್ಬೇಸ್ನ ನಿರಂತರ ವಿಕಸನ ಹಾಗೂ ಜಾಗತಿಕ ಬಳಕೆದಾರರ ವೈವಿಧ್ಯಮಯ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು ವಿಫಲವಾಗುತ್ತದೆ. ಸ್ಯಾನ್ ಫ್ರಾನ್ಸಿಸ್ಕೋದಲ್ಲಿನ ಉನ್ನತ-ದರ್ಜೆಯ ಡೆವಲಪರ್ ಯಂತ್ರದಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಒಂದು ವೈಶಿಷ್ಟ್ಯವು ಮುಂಬೈನಲ್ಲಿನ ಮಧ್ಯಮ-ಶ್ರೇಣಿಯ ಆಂಡ್ರಾಯ್ಡ್ ಸಾಧನದಲ್ಲಿ ಬಳಕೆಯಾಗದಿರಬಹುದು.
ಇಲ್ಲಿಯೇ ಮಾದರಿಯು ಮ್ಯಾನುಯಲ್, ನಿಯತಕಾಲಿಕ ತಪಾಸಣೆಗಳಿಂದ ಸ್ವಯಂಚಾಲಿತ, ನಿರಂತರ ಕಾರ್ಯಕ್ಷಮತೆ ಮೇಲ್ವಿಚಾರಣೆಗೆ ಬದಲಾಗುತ್ತದೆ. ಈ ಮಾರ್ಗದರ್ಶಿಯು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಪ್ರೊಫೈಲಿಂಗ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಒಂದು ದೃಢವಾದ ವ್ಯವಸ್ಥೆಯನ್ನು ನಿರ್ಮಿಸುವುದು ಹೇಗೆ ಎಂಬುದರ ಬಗ್ಗೆ ಸಮಗ್ರ ಪರಿಶೋಧನೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಾವು ಮೂಲಭೂತ ಪರಿಕಲ್ಪನೆಗಳು, ಅಗತ್ಯ ಸಾಧನಗಳು, ಮತ್ತು ನಿಮ್ಮ ಡೆವಲಪ್ಮೆಂಟ್ ಜೀವನಚಕ್ರದಲ್ಲಿ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸಂಯೋಜಿಸಲು ಹಂತ-ಹಂತದ ತಂತ್ರವನ್ನು ಒಳಗೊಳ್ಳುತ್ತೇವೆ, ಇದರಿಂದ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರತಿಯೊಬ್ಬ ಬಳಕೆದಾರರಿಗೆ, ಎಲ್ಲೆಡೆ ವೇಗವಾಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು.
ಆಧುನಿಕ ಕಾರ್ಯಕ್ಷಮತೆಯ ಭೂದೃಶ್ಯವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
ಆಟೋಮೇಷನ್ಗೆ ಧುಮುಕುವ ಮೊದಲು, ಈ ಬದಲಾವಣೆ ಏಕೆ ಅಗತ್ಯ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಬಹಳ ಮುಖ್ಯ. ವೆಬ್ ಸ್ಥಿರ ಡಾಕ್ಯುಮೆಂಟ್ಗಳಿಂದ ಸಂಕೀರ್ಣ, ಸಂವಾದಾತ್ಮಕ ಅಪ್ಲಿಕೇಶನ್ಗಳಾಗಿ ವಿಕಸನಗೊಂಡಿದೆ. ಈ ಸಂಕೀರ್ಣತೆ, ಹೆಚ್ಚಾಗಿ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಿಂದ ನಡೆಸಲ್ಪಡುತ್ತದೆ, ಇದು ವಿಶಿಷ್ಟ ಕಾರ್ಯಕ್ಷಮತೆಯ ಸವಾಲುಗಳನ್ನು ಒಡ್ಡುತ್ತದೆ.
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕಾರ್ಯಕ್ಷಮತೆ ಏಕೆ ಅತ್ಯುನ್ನತವಾಗಿದೆ
HTML ಮತ್ತು CSS ಘೋಷಣಾತ್ಮಕವಾಗಿವೆ, ಆದರೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅದಕ್ಕೆ ಭಿನ್ನವಾಗಿ ಆಜ್ಞಾತ್ಮಕವಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ಪಾರ್ಸ್ ಮಾಡಬೇಕು, ಕಂಪೈಲ್ ಮಾಡಬೇಕು ಮತ್ತು ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡಬೇಕು. ಈ ಸಂಪೂರ್ಣ ಪ್ರಕ್ರಿಯೆಯು ಬ್ರೌಸರ್ನ ಮುಖ್ಯ ಥ್ರೆಡ್ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ, ಇದು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡುವುದರಿಂದ ಹಿಡಿದು ಪರದೆಯ ಮೇಲೆ ಪಿಕ್ಸೆಲ್ಗಳನ್ನು ಚಿತ್ರಿಸುವುದು ಮತ್ತು ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ಗೆ ಪ್ರತಿಕ್ರಿಯಿಸುವುದು ಎಲ್ಲವನ್ನೂ ಮಾಡುವ ಏಕೈಕ ಥ್ರೆಡ್ ಆಗಿದೆ. ಭಾರೀ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕಾರ್ಯಗಳು ಈ ಮುಖ್ಯ ಥ್ರೆಡ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಬಹುದು, ಇದು ಹೆಪ್ಪುಗಟ್ಟಿದ, ಪ್ರತಿಕ್ರಿಯಿಸದ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ—ಇದು ಅಂತಿಮ ಡಿಜಿಟಲ್ ನಿರಾಶೆಯಾಗಿದೆ.
- ಏಕ-ಪುಟ ಅಪ್ಲಿಕೇಶನ್ಗಳು (SPAs): ರಿಯಾಕ್ಟ್, ಆಂಗ್ಯುಲರ್, ಮತ್ತು ವ್ಯೂ.js ನಂತಹ ಫ್ರೇಮ್ವರ್ಕ್ಗಳು ಶ್ರೀಮಂತ, ಅಪ್ಲಿಕೇಶನ್-ರೀತಿಯ ಅನುಭವಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿವೆ, ಆದರೆ ಅವು ರೆಂಡರಿಂಗ್ ಮತ್ತು ಲಾಜಿಕ್ನ ಹೆಚ್ಚಿನ ಭಾಗವನ್ನು ಕ್ಲೈಂಟ್-ಸೈಡ್ಗೆ ವರ್ಗಾಯಿಸುತ್ತವೆ, ಇದು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪೇಲೋಡ್ ಮತ್ತು ಎಕ್ಸಿಕ್ಯೂಶನ್ ವೆಚ್ಚವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
- ಮೂರನೇ-ಪಕ್ಷದ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು: ಅನಾಲಿಟಿಕ್ಸ್, ಜಾಹೀರಾತು, ಗ್ರಾಹಕ ಬೆಂಬಲ ವಿಜೆಟ್ಗಳು, ಮತ್ತು A/B ಪರೀಕ್ಷಾ ಸಾಧನಗಳು ವ್ಯವಹಾರಕ್ಕೆ ಅತ್ಯಗತ್ಯ, ಆದರೆ ಅವು ಗಮನಾರ್ಹ, ಅನಿರೀಕ್ಷಿತ ಕಾರ್ಯಕ್ಷಮತೆಯ ಓವರ್ಹೆಡ್ ಅನ್ನು ಪರಿಚಯಿಸಬಹುದು.
- ಮೊಬೈಲ್-ಫಸ್ಟ್ ಜಗತ್ತು: ಹೆಚ್ಚಿನ ವೆಬ್ ಟ್ರಾಫಿಕ್ ಮೊಬೈಲ್ ಸಾಧನಗಳಿಂದ ಬರುತ್ತದೆ, ಇವುಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಡೆಸ್ಕ್ಟಾಪ್ಗಳಿಗಿಂತ ಕಡಿಮೆ ಸಿಪಿಯು ಶಕ್ತಿ, ಕಡಿಮೆ ಮೆಮೊರಿ, ಮತ್ತು ಕಡಿಮೆ ವಿಶ್ವಾಸಾರ್ಹ ನೆಟ್ವರ್ಕ್ ಸಂಪರ್ಕಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಈ ನಿರ್ಬಂಧಗಳಿಗಾಗಿ ಆಪ್ಟಿಮೈಜ್ ಮಾಡುವುದು ಕಡ್ಡಾಯವಾಗಿದೆ.
ಪ್ರಮುಖ ಕಾರ್ಯಕ್ಷಮತೆ ಮೆಟ್ರಿಕ್ಗಳು: ವೇಗದ ಭಾಷೆ
ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು, ನಾವು ಮೊದಲು ಅದನ್ನು ಅಳೆಯಬೇಕು. ಗೂಗಲ್ನ ಕೋರ್ ವೆಬ್ ವೈಟಲ್ಸ್ ಉಪಕ್ರಮವು ನೈಜ-ಪ್ರಪಂಚದ ಅನುಭವವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನಿರ್ಣಾಯಕವಾದ ಬಳಕೆದಾರ-ಕೇಂದ್ರಿತ ಮೆಟ್ರಿಕ್ಗಳ ಒಂದು ಗುಂಪನ್ನು ಪ್ರಮಾಣೀಕರಿಸಿದೆ. ಇವುಗಳು, ಇತರ ಪ್ರಮುಖ ಮೆಟ್ರಿಕ್ಗಳೊಂದಿಗೆ, ನಮ್ಮ ಮೇಲ್ವಿಚಾರಣಾ ಪ್ರಯತ್ನಗಳ ಆಧಾರವನ್ನು ರೂಪಿಸುತ್ತವೆ.
- ಲಾರ್ಜೆಸ್ಟ್ ಕಂಟೆಂಟ್ಫುಲ್ ಪೇಂಟ್ (LCP): ಲೋಡಿಂಗ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅಳೆಯುತ್ತದೆ. ಪುಟದ ಮುಖ್ಯ ವಿಷಯವು ಲೋಡ್ ಆಗಿರುವ ಸಾಧ್ಯತೆಯಿರುವ ಪುಟ ಲೋಡ್ ಟೈಮ್ಲೈನ್ನಲ್ಲಿನ ಬಿಂದುವನ್ನು ಇದು ಗುರುತಿಸುತ್ತದೆ. ಉತ್ತಮ LCP 2.5 ಸೆಕೆಂಡುಗಳು ಅಥವಾ ಅದಕ್ಕಿಂತ ಕಡಿಮೆ.
- ಇಂಟರಾಕ್ಷನ್ ಟು ನೆಕ್ಸ್ಟ್ ಪೇಂಟ್ (INP): ಸ್ಪಂದನಶೀಲತೆಯನ್ನು ಅಳೆಯುತ್ತದೆ. ಇದು ಪುಟದೊಂದಿಗೆ ಮಾಡಿದ ಎಲ್ಲಾ ಬಳಕೆದಾರರ ಸಂವಾದಗಳ (ಕ್ಲಿಕ್ಗಳು, ಟ್ಯಾಪ್ಗಳು, ಕೀ ಪ್ರೆಸ್ಗಳು) ಲೇಟೆನ್ಸಿಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುತ್ತದೆ ಮತ್ತು 98% ಸಮಯ ಪುಟವು ಯಾವ ಮೌಲ್ಯದಲ್ಲಿ ಅಥವಾ ಅದಕ್ಕಿಂತ ಕೆಳಗಿತ್ತು ಎಂಬುದನ್ನು ಒಂದೇ ಮೌಲ್ಯದಲ್ಲಿ ವರದಿ ಮಾಡುತ್ತದೆ. ಉತ್ತಮ INP 200 ಮಿಲಿಸೆಕೆಂಡ್ಗಳಿಗಿಂತ ಕಡಿಮೆ. (ಗಮನಿಸಿ: ಮಾರ್ಚ್ 2024 ರಲ್ಲಿ INP ಅಧಿಕೃತವಾಗಿ ಫಸ್ಟ್ ಇನ್ಪುಟ್ ಡಿಲೇ (FID) ಅನ್ನು ಕೋರ್ ವೆಬ್ ವೈಟಲ್ ಆಗಿ ಬದಲಾಯಿಸಿತು).
- ಕ್ಯುಮುಲೇಟಿವ್ ಲೇಔಟ್ ಶಿಫ್ಟ್ (CLS): ದೃಶ್ಯ ಸ್ಥಿರತೆಯನ್ನು ಅಳೆಯುತ್ತದೆ. ಪುಟದ ಸಂಪೂರ್ಣ ಜೀವಿತಾವಧಿಯಲ್ಲಿ ಎಷ್ಟು ಅನಿರೀಕ್ಷಿತ ಲೇಔಟ್ ಶಿಫ್ಟ್ ಸಂಭವಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಇದು ಪ್ರಮಾಣೀಕರಿಸುತ್ತದೆ. ಉತ್ತಮ CLS ಸ್ಕೋರ್ 0.1 ಅಥವಾ ಅದಕ್ಕಿಂತ ಕಡಿಮೆ.
- ಫಸ್ಟ್ ಕಂಟೆಂಟ್ಫುಲ್ ಪೇಂಟ್ (FCP): DOM ವಿಷಯದ ಮೊದಲ ತುಣುಕು ರೆಂಡರ್ ಆದ ಸಮಯವನ್ನು ಗುರುತಿಸುತ್ತದೆ. ಇದು ಬಳಕೆದಾರರ ಲೋಡಿಂಗ್ ಗ್ರಹಿಕೆಯಲ್ಲಿ ಒಂದು ಪ್ರಮುಖ ಮೈಲಿಗಲ್ಲು.
- ಟೈಮ್ ಟು ಇಂಟರಾಕ್ಟಿವ್ (TTI): ಒಂದು ಪುಟವು ಸಂಪೂರ್ಣವಾಗಿ ಸಂವಾದಾತ್ಮಕವಾಗಲು ತೆಗೆದುಕೊಳ್ಳುವ ಸಮಯವನ್ನು ಅಳೆಯುತ್ತದೆ, ಅಂದರೆ ಮುಖ್ಯ ಥ್ರೆಡ್ ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ಗೆ ತಕ್ಷಣ ಪ್ರತಿಕ್ರಿಯಿಸಲು ಮುಕ್ತವಾಗಿದೆ.
- ಟೋಟಲ್ ಬ್ಲಾಕಿಂಗ್ ಟೈಮ್ (TBT): FCP ಮತ್ತು TTI ನಡುವೆ ಮುಖ್ಯ ಥ್ರೆಡ್ ಇನ್ಪುಟ್ ಸ್ಪಂದನಶೀಲತೆಯನ್ನು ತಡೆಯುವಷ್ಟು ಕಾಲ ನಿರ್ಬಂಧಿಸಲ್ಪಟ್ಟಿದ್ದ ಒಟ್ಟು ಸಮಯವನ್ನು ಪ್ರಮಾಣೀಕರಿಸುತ್ತದೆ. ಇದು ಲ್ಯಾಬ್ ಮೆಟ್ರಿಕ್ ಆಗಿದ್ದು, INP ನಂತಹ ಫೀಲ್ಡ್ ಮೆಟ್ರಿಕ್ಗಳೊಂದಿಗೆ ಉತ್ತಮವಾಗಿ ಸಂಬಂಧ ಹೊಂದಿದೆ.
ಮ್ಯಾನುಯಲ್ ಪ್ರೊಫೈಲಿಂಗ್ನ ಅಸಮರ್ಪಕತೆ
ಕೇವಲ ಮ್ಯಾನುಯಲ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಆಡಿಟ್ಗಳನ್ನು ಅವಲಂಬಿಸುವುದು, ಸಾಗರದ ಛಾಯಾಚಿತ್ರವನ್ನು ನೋಡಿ ಹಡಗನ್ನು ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿದಂತೆ. ಇದು ಕ್ರಿಯಾತ್ಮಕ ಪರಿಸರದ ಸ್ಥಿರ ಚಿತ್ರ. ಈ ವಿಧಾನವು ಹಲವಾರು ನಿರ್ಣಾಯಕ ದೋಷಗಳಿಂದ ಬಳಲುತ್ತದೆ:
- ಇದು ಪೂರ್ವಭಾವಿಯಾಗಿಲ್ಲ: ಕಾರ್ಯಕ್ಷಮತೆಯ ಹಿನ್ನಡೆಗಳನ್ನು ಅವುಗಳು ನಿಯೋಜಿಸಲ್ಪಟ್ಟ ನಂತರವೇ ನೀವು ಕಂಡುಕೊಳ್ಳುತ್ತೀರಿ, ಇದು ಸಂಭಾವ್ಯವಾಗಿ ಸಾವಿರಾರು ಬಳಕೆದಾರರ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.
- ಇದು ಅಸಮಂಜಸವಾಗಿದೆ: ಡೆವಲಪರ್ನ ಯಂತ್ರ, ನೆಟ್ವರ್ಕ್ ಸಂಪರ್ಕ, ಬ್ರೌಸರ್ ವಿಸ್ತರಣೆಗಳು, ಮತ್ತು ಇತರ ಸ್ಥಳೀಯ ಅಂಶಗಳನ್ನು ಅವಲಂಬಿಸಿ ಫಲಿತಾಂಶಗಳು ವ್ಯಾಪಕವಾಗಿ ಬದಲಾಗುತ್ತವೆ.
- ಇದು ಸ್ಕೇಲ್ ಆಗುವುದಿಲ್ಲ: ತಂಡಗಳು ಮತ್ತು ಕೋಡ್ಬೇಸ್ಗಳು ಬೆಳೆದಂತೆ, ವ್ಯಕ್ತಿಗಳು ಪ್ರತಿಯೊಂದು ಬದಲಾವಣೆಯ ಕಾರ್ಯಕ್ಷಮತೆಯ ಪ್ರಭಾವವನ್ನು ಮ್ಯಾನುಯಲ್ ಆಗಿ ಪರಿಶೀಲಿಸುವುದು ಅಸಾಧ್ಯವಾಗುತ್ತದೆ.
- ಇದಕ್ಕೆ ಜಾಗತಿಕ ದೃಷ್ಟಿಕೋನವಿಲ್ಲ: ಯುರೋಪಿಯನ್ ಡೇಟಾ ಸೆಂಟರ್ನಿಂದ ನಡೆಸಿದ ಪರೀಕ್ಷೆಯು ಆಗ್ನೇಯ ಏಷ್ಯಾದಲ್ಲಿ 3G ನೆಟ್ವರ್ಕ್ನಲ್ಲಿರುವ ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವುದಿಲ್ಲ.
ಆಟೋಮೇಷನ್ ಈ ಸಮಸ್ಯೆಗಳನ್ನು ನಿರಂತರವಾಗಿ ವೀಕ್ಷಿಸುವ, ಅಳೆಯುವ ಮತ್ತು ಎಚ್ಚರಿಸುವ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸುವ ಮೂಲಕ ಪರಿಹರಿಸುತ್ತದೆ, ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸಾಂದರ್ಭಿಕ ಆಡಿಟ್ನಿಂದ ನಿರಂತರ, ಸಂಯೋಜಿತ ಅಭ್ಯಾಸವಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
ಸ್ವಯಂಚಾಲಿತ ಕಾರ್ಯಕ್ಷಮತೆ ಮೇಲ್ವಿಚಾರಣೆಯ ಮೂರು ಸ್ತಂಭಗಳು
ಒಂದು ಸಮಗ್ರ ಆಟೋಮೇಷನ್ ತಂತ್ರವು ಮೂರು ಪರಸ್ಪರ ಸಂಬಂಧಿತ ಸ್ತಂಭಗಳ ಮೇಲೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿದೆ. ಪ್ರತಿಯೊಂದೂ ವಿಭಿನ್ನ ರೀತಿಯ ಡೇಟಾವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಮತ್ತು ಒಟ್ಟಾಗಿ ಅವು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಸಮಗ್ರ ನೋಟವನ್ನು ರಚಿಸುತ್ತವೆ. ಅವುಗಳನ್ನು ಲ್ಯಾಬ್ ಡೇಟಾ, ಫೀಲ್ಡ್ ಡೇಟಾ, ಮತ್ತು ಅವುಗಳನ್ನು ನಿಮ್ಮ ವರ್ಕ್ಫ್ಲೋಗೆ ಬಂಧಿಸುವ ಇಂಟಿಗ್ರೇಷನ್ ಎಂದು ಯೋಚಿಸಿ.
ಸ್ತಂಭ 1: ಸಿಂಥೆಟಿಕ್ ಮಾನಿಟರಿಂಗ್ (ಲ್ಯಾಬ್ ಡೇಟಾ)
ಸಿಂಥೆಟಿಕ್ ಮಾನಿಟರಿಂಗ್ ಎಂದರೆ ನಿಯಂತ್ರಿತ, ಸ್ಥಿರ, ಮತ್ತು ಪುನರಾವರ್ತನೀಯ ಪರಿಸರದಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸುವುದು. ಇದು ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ನಿಮ್ಮ ವೈಜ್ಞಾನಿಕ ಪ್ರಯೋಗಾಲಯವಾಗಿದೆ.
ಅದು ಏನು: ನಿಮ್ಮ ವೆಬ್ ಪುಟಗಳನ್ನು ಪ್ರೋಗ್ರಾಮಿಕ್ ಆಗಿ ಲೋಡ್ ಮಾಡಲು, ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು, ಮತ್ತು ಅವುಗಳನ್ನು ಪೂರ್ವನಿರ್ಧರಿತ ಮಾನದಂಡಗಳು ಅಥವಾ ಹಿಂದಿನ ರನ್ಗಳೊಂದಿಗೆ ಹೋಲಿಸಲು ಸಾಧನಗಳನ್ನು ಬಳಸುವುದು. ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ವೇಳಾಪಟ್ಟಿಯಲ್ಲಿ (ಉದಾ., ಪ್ರತಿ ಗಂಟೆಗೆ) ಅಥವಾ, ಹೆಚ್ಚು ಶಕ್ತಿಶಾಲಿಯಾಗಿ, CI/CD ಪೈಪ್ಲೈನ್ನಲ್ಲಿನ ಪ್ರತಿ ಕೋಡ್ ಬದಲಾವಣೆಯ ಮೇಲೆ ಮಾಡಲಾಗುತ್ತದೆ.
ಅದು ಏಕೆ ಮುಖ್ಯ: ಸ್ಥಿರತೆಯೇ ಮುಖ್ಯ. ನೆಟ್ವರ್ಕ್ ಮತ್ತು ಸಾಧನದ ಹಾರ್ಡ್ವೇರ್ನಂತಹ ವೇರಿಯಬಲ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುವ ಮೂಲಕ, ಸಿಂಥೆಟಿಕ್ ಪರೀಕ್ಷೆಗಳು ನಿಮ್ಮ ಕೋಡ್ ಬದಲಾವಣೆಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯ ಪ್ರಭಾವವನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಉತ್ಪಾದನೆಯನ್ನು ತಲುಪುವ ಮೊದಲು ಹಿನ್ನಡೆಗಳನ್ನು ಹಿಡಿಯಲು ಪರಿಪೂರ್ಣ ಸಾಧನವನ್ನಾಗಿ ಮಾಡುತ್ತದೆ.
ಪ್ರಮುಖ ಸಾಧನಗಳು:
- ಲೈಟ್ಹೌಸ್ ಸಿಐ: ಲೈಟ್ಹೌಸ್ ಚಾಲನೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ, ಕಾರ್ಯಕ್ಷಮತೆಯ ಬಜೆಟ್ಗಳನ್ನು ಪ್ರತಿಪಾದಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ, ಮತ್ತು ಕಾಲಾನಂತರದಲ್ಲಿ ಫಲಿತಾಂಶಗಳನ್ನು ಹೋಲಿಸುವ ಒಂದು ಓಪನ್-ಸೋರ್ಸ್ ಸಾಧನ. ಇದು CI ಇಂಟಿಗ್ರೇಷನ್ಗೆ ಚಿನ್ನದ ಮಾನದಂಡವಾಗಿದೆ.
- ವೆಬ್ಪೇಜ್ಟೆಸ್ಟ್: ಆಳವಾದ ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಒಂದು ಶಕ್ತಿಯುತ ಸಾಧನ. ಪ್ರಪಂಚದಾದ್ಯಂತದ ವಿವಿಧ ಸ್ಥಳಗಳಿಂದ ನಿಜವಾದ ಸಾಧನಗಳಲ್ಲಿ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸಲು ಅದರ API ಮೂಲಕ ಇದನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಬಹುದು.
- Sitespeed.io: ನಿಮ್ಮ ಸ್ವಂತ ಸಮಗ್ರ ಮೇಲ್ವಿಚಾರಣಾ ಪರಿಹಾರವನ್ನು ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಓಪನ್-ಸೋರ್ಸ್ ಸಾಧನಗಳ ಒಂದು ಸೂಟ್.
- ಪಪಿಟಿಯರ್/ಪ್ಲೇರೈಟ್ನೊಂದಿಗೆ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್: ಸಂಕೀರ್ಣ ಬಳಕೆದಾರರ ಹರಿವುಗಳಿಗಾಗಿ, ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಮೂಲಕ ನ್ಯಾವಿಗೇಟ್ ಮಾಡುವ, ಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸುವ, ಮತ್ತು ಬ್ರೌಸರ್ನ ಪರ್ಫಾರ್ಮೆನ್ಸ್ APIಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕಸ್ಟಮ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವ ಕಸ್ಟಮ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ನೀವು ಬರೆಯಬಹುದು.
ಉದಾಹರಣೆ: ಲೈಟ್ಹೌಸ್ ಸಿಐ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು
ನಿಮ್ಮ ನಿರಂತರ ಇಂಟಿಗ್ರೇಷನ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಲೈಟ್ಹೌಸ್ ಅನ್ನು ಸಂಯೋಜಿಸುವುದು ಒಂದು ಅದ್ಭುತ ಆರಂಭದ ಹಂತವಾಗಿದೆ. ಮೊದಲು, ನೀವು CLI ಅನ್ನು ಸ್ಥಾಪಿಸುತ್ತೀರಿ:
npm install -g @lhci/cli
ನಂತರ, ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ನ ಮೂಲದಲ್ಲಿ lighthouserc.json ಎಂಬ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ನೀವು ರಚಿಸುತ್ತೀರಿ:
{
"ci": {
"collect": {
"url": ["https://yourapp.com", "https://yourapp.com/about"],
"startServerCommand": "npm run start",
"numberOfRuns": 3
},
"assert": {
"preset": "lighthouse:recommended",
"assertions": {
"core/cumulative-layout-shift": ["warn", { "maxNumericValue": 0.1 }],
"core/interaction-to-next-paint": ["error", { "maxNumericValue": 200 }],
"categories:performance": ["error", { "minScore": 0.9 }],
"resource-summary:mainthread-work-breakdown:scripting": ["error", { "maxNumericValue": 2000 }]
}
},
"upload": {
"target": "temporary-public-storage"
}
}
}
ಈ ಕಾನ್ಫಿಗರೇಶನ್ ಲೈಟ್ಹೌಸ್ ಸಿಐಗೆ ಹೀಗೆ ಹೇಳುತ್ತದೆ:
- ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ.
- ಎರಡು ನಿರ್ದಿಷ್ಟ URLಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ, ಸ್ಥಿರತೆಗಾಗಿ ಪ್ರತಿ ಪರೀಕ್ಷೆಯನ್ನು ಮೂರು ಬಾರಿ ಚಲಾಯಿಸಿ.
- ಒಂದು ನಿಯಮಗಳ ಗುಂಪನ್ನು ಪ್ರತಿಪಾದಿಸಿ (ಜಾರಿಗೊಳಿಸಿ): CLS 0.1 ಮೀರಿದರೆ ಎಚ್ಚರಿಕೆ ನೀಡಿ, INP 200ms ಮೀರಿದರೆ ಅಥವಾ ಒಟ್ಟಾರೆ ಕಾರ್ಯಕ್ಷಮತೆ ಸ್ಕೋರ್ 90 ಕ್ಕಿಂತ ಕಡಿಮೆಯಿದ್ದರೆ ಬಿಲ್ಡ್ ಅನ್ನು ವಿಫಲಗೊಳಿಸಿ, ಮತ್ತು ಒಟ್ಟು ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಸಮಯ 2 ಸೆಕೆಂಡುಗಳನ್ನು ಮೀರಿದರೆ ವಿಫಲಗೊಳಿಸಿ.
- ಸುಲಭ ವೀಕ್ಷಣೆಗಾಗಿ ವರದಿಯನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ.
ನಂತರ ನೀವು ಇದನ್ನು ಸರಳವಾದ ಆಜ್ಞೆಯೊಂದಿಗೆ ಚಲಾಯಿಸಬಹುದು: lhci autorun.
ಸ್ತಂಭ 2: ರಿಯಲ್ ಯೂಸರ್ ಮಾನಿಟರಿಂಗ್ (RUM) (ಫೀಲ್ಡ್ ಡೇಟಾ)
ಸಿಂಥೆಟಿಕ್ ಪರೀಕ್ಷೆಗಳು ನಿಮ್ಮ ಸೈಟ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು ಎಂದು ಹೇಳಿದರೆ, ರಿಯಲ್ ಯೂಸರ್ ಮಾನಿಟರಿಂಗ್ (RUM) ನಿಮ್ಮ ಬಳಕೆದಾರರಿಗೆ ನೈಜ ಜಗತ್ತಿನಲ್ಲಿ ಅದು ನಿಜವಾಗಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಹೇಳುತ್ತದೆ.
ಅದು ಏನು: ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವಾಗ ನಿಮ್ಮ ಅಂತಿಮ-ಬಳಕೆದಾರರ ಬ್ರೌಸರ್ಗಳಿಂದ ನೇರವಾಗಿ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಬಳಕೆಯ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವುದು. ಈ ಡೇಟಾವನ್ನು ನಂತರ ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಕೇಂದ್ರ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಒಟ್ಟುಗೂಡಿಸಲಾಗುತ್ತದೆ.
ಅದು ಏಕೆ ಮುಖ್ಯ: RUM ಬಳಕೆದಾರರ ಅನುಭವಗಳ ದೀರ್ಘ ಬಾಲವನ್ನು ಸೆರೆಹಿಡಿಯುತ್ತದೆ. ಇದು ಸಾಧನಗಳು, ನೆಟ್ವರ್ಕ್ ವೇಗಗಳು, ಭೌಗೋಳಿಕ ಸ್ಥಳಗಳು, ಮತ್ತು ಬ್ರೌಸರ್ ಆವೃತ್ತಿಗಳ ಅನಂತ ವ್ಯತ್ಯಾಸವನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಬಳಕೆದಾರರು ಗ್ರಹಿಸಿದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಇದು ಸತ್ಯದ ಅಂತಿಮ ಮೂಲವಾಗಿದೆ.
ಪ್ರಮುಖ ಸಾಧನಗಳು ಮತ್ತು ಲೈಬ್ರರಿಗಳು:
- ವಾಣಿಜ್ಯ APM/RUM ಪರಿಹಾರಗಳು: Sentry, Datadog, New Relic, Dynatrace, ಮತ್ತು Akamai mPulse RUM ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು, ವಿಶ್ಲೇಷಿಸಲು, ಮತ್ತು ಎಚ್ಚರಿಸಲು ಸಮಗ್ರ ವೇದಿಕೆಗಳನ್ನು ನೀಡುತ್ತವೆ.
- ಗೂಗಲ್ ಅನಾಲಿಟಿಕ್ಸ್ 4 (GA4): ನಿಮ್ಮ ಬಳಕೆದಾರರ ಮಾದರಿಯಿಂದ ಕೋರ್ ವೆಬ್ ವೈಟಲ್ಸ್ ಡೇಟಾವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಇದು ಉತ್ತಮ, ಉಚಿತ ಆರಂಭಿಕ ಹಂತವಾಗಿದೆ.
- `web-vitals` ಲೈಬ್ರರಿ: ಗೂಗಲ್ನಿಂದ ಬಂದ ಒಂದು ಸಣ್ಣ, ಓಪನ್-ಸೋರ್ಸ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಲೈಬ್ರರಿ, ಇದು ಕೋರ್ ವೆಬ್ ವೈಟಲ್ಸ್ ಅನ್ನು ಅಳೆಯಲು ಮತ್ತು ಡೇಟಾವನ್ನು ನೀವು ಆಯ್ಕೆ ಮಾಡಿದ ಯಾವುದೇ ಅನಾಲಿಟಿಕ್ಸ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಕಳುಹಿಸಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ: `web-vitals` ನೊಂದಿಗೆ ಮೂಲಭೂತ RUM
ಮೂಲಭೂತ RUM ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು ಆಶ್ಚರ್ಯಕರವಾಗಿ ಸರಳವಾಗಿದೆ. ಮೊದಲು, ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ಗೆ ಲೈಬ್ರರಿಯನ್ನು ಸೇರಿಸಿ:
npm install web-vitals
ನಂತರ, ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಪ್ರವೇಶ ಬಿಂದುವಿನಲ್ಲಿ, ನೀವು ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಅನಾಲಿಟಿಕ್ಸ್ ಸೇವೆಗೆ ಅಥವಾ ಕಸ್ಟಮ್ ಲಾಗಿಂಗ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ವರದಿ ಮಾಡಬಹುದು:
import { onCLS, onINP, onLCP } from 'web-vitals';
function sendToAnalytics(metric) {
const body = JSON.stringify(metric);
// Use `navigator.sendBeacon()` if available, falling back to `fetch()`.
(navigator.sendBeacon && navigator.sendBeacon('/analytics', body)) ||
fetch('/analytics', { body, method: 'POST', keepalive: true });
}
onCLS(sendToAnalytics);
onINP(sendToAnalytics);
onLCP(sendToAnalytics);
ಈ ಸಣ್ಣ ತುಣುಕು ಪ್ರತಿಯೊಬ್ಬ ಬಳಕೆದಾರರಿಂದ ಕೋರ್ ವೆಬ್ ವೈಟಲ್ಸ್ ಅನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ನಿಮ್ಮ ಬ್ಯಾಕೆಂಡ್ಗೆ ಕಳುಹಿಸುತ್ತದೆ. ನಂತರ ನೀವು ಈ ಡೇಟಾವನ್ನು ವಿತರಣೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು (ಉದಾ., ನಿಮ್ಮ 75ನೇ ಪರ್ಸೆಂಟೈಲ್ LCP), ಯಾವ ಪುಟಗಳು ನಿಧಾನವಾಗಿವೆ ಎಂಬುದನ್ನು ಗುರುತಿಸಲು, ಮತ್ತು ದೇಶ ಅಥವಾ ಸಾಧನದ ಪ್ರಕಾರ ಕಾರ್ಯಕ್ಷಮತೆ ಹೇಗೆ ಬದಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಲು ಒಟ್ಟುಗೂಡಿಸಬಹುದು.
ಸ್ತಂಭ 3: CI/CD ಇಂಟಿಗ್ರೇಷನ್ ಮತ್ತು ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಬಜೆಟ್ಗಳು
ಈ ಸ್ತಂಭವು ನಿಮ್ಮ ಆಟೋಮೇಷನ್ ತಂತ್ರದ ಕಾರ್ಯಾಚರಣೆಯ ಹೃದಯವಾಗಿದೆ. ಇಲ್ಲಿ ನೀವು ಸಿಂಥೆಟಿಕ್ ಮತ್ತು RUM ಡೇಟಾದಿಂದ ಪಡೆದ ಒಳನೋಟಗಳನ್ನು ನೇರವಾಗಿ ನಿಮ್ಮ ಡೆವಲಪ್ಮೆಂಟ್ ವರ್ಕ್ಫ್ಲೋಗೆ ಸಂಪರ್ಕಿಸುತ್ತೀರಿ, ಕಾರ್ಯಕ್ಷಮತೆಯ ಹಿನ್ನಡೆಗಳು ಸಂಭವಿಸುವ ಮೊದಲು ಅವುಗಳನ್ನು ತಡೆಯುವ ಪ್ರತಿಕ್ರಿಯೆ ಲೂಪ್ ಅನ್ನು ರಚಿಸುತ್ತೀರಿ.
ಅದು ಏನು: ನಿಮ್ಮ ನಿರಂತರ ಇಂಟಿಗ್ರೇಷನ್ (CI) ಮತ್ತು ನಿರಂತರ ನಿಯೋಜನೆ (CD) ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಕಾರ್ಯಕ್ಷಮತೆ ತಪಾಸಣೆಗಳನ್ನು ಎಂಬೆಡ್ ಮಾಡುವ ಅಭ್ಯಾಸ. ಇಲ್ಲಿನ ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಬಜೆಟ್ ಆಗಿದೆ.
ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಬಜೆಟ್ ಎನ್ನುವುದು ಸೈಟ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವ ಮೆಟ್ರಿಕ್ಗಳಿಗಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಮಿತಿಗಳ ಒಂದು ಗುಂಪಾಗಿದೆ. ಇವು ಕೇವಲ ಗುರಿಗಳಲ್ಲ; ತಂಡವು ಮೀರಬಾರದೆಂದು ಒಪ್ಪುವ ಕಟ್ಟುನಿಟ್ಟಾದ ನಿರ್ಬಂಧಗಳಾಗಿವೆ. ಬಜೆಟ್ಗಳು ಇವುಗಳ ಮೇಲೆ ಆಧಾರಿತವಾಗಿರಬಹುದು:
- ಪ್ರಮಾಣ ಮೆಟ್ರಿಕ್ಗಳು: ಗರಿಷ್ಠ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಂಡಲ್ ಗಾತ್ರ (ಉದಾ., 170KB), ಗರಿಷ್ಠ ಚಿತ್ರದ ಗಾತ್ರ, ವಿನಂತಿಗಳ ಒಟ್ಟು ಸಂಖ್ಯೆ.
- ಮೈಲಿಗಲ್ಲು ಸಮಯಗಳು: ಗರಿಷ್ಠ LCP (ಉದಾ., 2.5s), ಗರಿಷ್ಠ TTI.
- ನಿಯಮ-ಆಧಾರಿತ ಸ್ಕೋರ್ಗಳು: ಕನಿಷ್ಠ ಲೈಟ್ಹೌಸ್ ಕಾರ್ಯಕ್ಷಮತೆ ಸ್ಕೋರ್ (ಉದಾ., 90).
ಅದು ಏಕೆ ಮುಖ್ಯ: ನಿಮ್ಮ ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪಾಸ್/ಫೇಲ್ ಮಾನದಂಡವನ್ನಾಗಿ ಮಾಡುವ ಮೂಲಕ, ನೀವು ಅದನ್ನು "ಹೊಂದಿದ್ದರೆ-ಒಳ್ಳೆಯದು" ಎಂಬುದರಿಂದ ಯೂನಿಟ್ ಪರೀಕ್ಷೆಗಳು ಅಥವಾ ಭದ್ರತಾ ಸ್ಕ್ಯಾನ್ಗಳಂತೆಯೇ ನಿರ್ಣಾಯಕ ಗುಣಮಟ್ಟದ ಗೇಟ್ ಆಗಿ ಉನ್ನತೀಕರಿಸುತ್ತೀರಿ. ಇದು ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಅವಲಂಬನೆಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯ ವೆಚ್ಚದ ಬಗ್ಗೆ ಸಂಭಾಷಣೆಗಳನ್ನು ಒತ್ತಾಯಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ: ಕಾರ್ಯಕ್ಷಮತೆ ತಪಾಸಣೆಗಳಿಗಾಗಿ ಒಂದು ಗಿಟ್ಹಬ್ ಆಕ್ಷನ್ಸ್ ವರ್ಕ್ಫ್ಲೋ
ಪ್ರತಿ ಪುಲ್ ವಿನಂತಿಯ ಮೇಲೆ ಚಲಿಸುವ ಮಾದರಿ ವರ್ಕ್ಫ್ಲೋ ಫೈಲ್ (.github/workflows/performance.yml) ಇಲ್ಲಿದೆ. ಇದು ಅಪ್ಲಿಕೇಶನ್ ಬಂಡಲ್ ಗಾತ್ರವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ನಮ್ಮ ಲೈಟ್ಹೌಸ್ ಸಿಐ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತದೆ.
name: Performance CI
on: [pull_request]
jobs:
performance_check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Build application
run: npm run build
- name: Check bundle size
uses: preactjs/compressed-size-action@v2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
pattern: "dist/**/*.js"
- name: Run Lighthouse CI
run: |
npm install -g @lhci/cli
lhci autorun --config=./lighthouserc.json
ಈ ವರ್ಕ್ಫ್ಲೋ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹೀಗೆ ಮಾಡುತ್ತದೆ:
- ಪುಲ್ ವಿನಂತಿಯಿಂದ ಹೊಸ ಕೋಡ್ ಅನ್ನು ಚೆಕ್ ಔಟ್ ಮಾಡುತ್ತದೆ.
- ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಬಿಲ್ಡ್ ಮಾಡುತ್ತದೆ.
- ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳ ಸಂಕುಚಿತ ಗಾತ್ರವನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಪುಲ್ ವಿನಂತಿಯ ಮೇಲೆ ಫಲಿತಾಂಶವನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಲು ಮೀಸಲಾದ ಆಕ್ಷನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ.
lhci autorunಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುತ್ತದೆ, ಇದು ನಿಮ್ಮlighthouserc.jsonನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಪರೀಕ್ಷೆಗಳು ಮತ್ತು ಪ್ರತಿಪಾದನೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಯಾವುದೇ ಪ್ರತಿಪಾದನೆ ವಿಫಲವಾದರೆ, ಸಂಪೂರ್ಣ ಜಾಬ್ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ, ಕಾರ್ಯಕ್ಷಮತೆಯ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವವರೆಗೆ ಪುಲ್ ವಿನಂತಿಯನ್ನು ವಿಲೀನಗೊಳಿಸುವುದನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ.
ನಿಮ್ಮ ಸ್ವಯಂಚಾಲಿತ ಕಾರ್ಯಕ್ಷಮತೆ ಮೇಲ್ವಿಚಾರಣಾ ತಂತ್ರವನ್ನು ನಿರ್ಮಿಸುವುದು: ಒಂದು ಹಂತ-ಹಂತದ ಮಾರ್ಗದರ್ಶಿ
ಸ್ತಂಭಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದು ಒಂದು ವಿಷಯ; ಅವುಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸುವುದು ಇನ್ನೊಂದು. ಯಾವುದೇ ಸಂಸ್ಥೆಯು ನಿರಂತರ ಕಾರ್ಯಕ್ಷಮತೆ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳಲು ಇಲ್ಲಿ ಒಂದು ಪ್ರಾಯೋಗಿಕ, ಹಂತ-ಹಂತದ ವಿಧಾನವಿದೆ.
ಹಂತ 1: ಒಂದು ಮೂಲರೇಖೆಯನ್ನು ಸ್ಥಾಪಿಸಿ
ನೀವು ಅಳೆಯದನ್ನು ಸುಧಾರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಮೊದಲ ಹೆಜ್ಜೆ ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಕಾರ್ಯಕ್ಷಮತೆಯ ವಾಸ್ತವತೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು.
- ಮ್ಯಾನುಯಲ್ ಆಡಿಟ್ ನಡೆಸಿ: ನಿಮ್ಮ ಪ್ರಮುಖ ಬಳಕೆದಾರರ ಪ್ರಯಾಣಗಳಲ್ಲಿ (ಮುಖಪುಟ, ಉತ್ಪನ್ನ ಪುಟ, ಚೆಕ್ಔಟ್ ಪ್ರಕ್ರಿಯೆ) ಲೈಟ್ಹೌಸ್ ಮತ್ತು ವೆಬ್ಪೇಜ್ಟೆಸ್ಟ್ ಅನ್ನು ಚಲಾಯಿಸಿ. ಇದು ನಿಮಗೆ ಆರಂಭಿಕ, ವಿವರವಾದ ಚಿತ್ರಣವನ್ನು ನೀಡುತ್ತದೆ.
- ಮೂಲಭೂತ RUM ಅನ್ನು ನಿಯೋಜಿಸಿ: `web-vitals` ಲೈಬ್ರರಿಯಂತಹ ಸಾಧನವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ ಅಥವಾ ನಿಮ್ಮ ಅನಾಲಿಟಿಕ್ಸ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ನಲ್ಲಿ ಕೋರ್ ವೆಬ್ ವೈಟಲ್ಸ್ ವರದಿ ಮಾಡುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. ನಿಮ್ಮ 75ನೇ ಪರ್ಸೆಂಟೈಲ್ (p75) ಮೆಟ್ರಿಕ್ಗಳ ಸ್ಥಿರ ನೋಟವನ್ನು ಪಡೆಯಲು ಕನಿಷ್ಠ ಒಂದು ವಾರ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಬಿಡಿ. ಈ p75 ಮೌಲ್ಯವು ಸರಾಸರಿಗಿಂತ ವಿಶಿಷ್ಟ ಬಳಕೆದಾರರ ಅನುಭವದ ಉತ್ತಮ ಸೂಚಕವಾಗಿದೆ.
- ಸುಲಭವಾಗಿ ಸಿಗುವ ಅವಕಾಶಗಳನ್ನು ಗುರುತಿಸಿ: ನಿಮ್ಮ ಆರಂಭಿಕ ಆಡಿಟ್ಗಳು ಬಹುಶಃ ಸಂಕುಚಿತಗೊಳಿಸದ ಚಿತ್ರಗಳು ಅಥವಾ ದೊಡ್ಡ, ಬಳಕೆಯಾಗದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಂಡಲ್ಗಳಂತಹ ತಕ್ಷಣದ ಸುಧಾರಣೆಯ ಅವಕಾಶಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತವೆ. ವೇಗವನ್ನು ಹೆಚ್ಚಿಸಲು ಇವುಗಳನ್ನು ಮೊದಲು ಪರಿಹರಿಸಿ.
ಹಂತ 2: ನಿಮ್ಮ ಆರಂಭಿಕ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಬಜೆಟ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ
ಮೂಲರೇಖೆಯ ಡೇಟಾದೊಂದಿಗೆ, ನೀವು ವಾಸ್ತವಿಕ ಮತ್ತು ಅರ್ಥಪೂರ್ಣ ಬಜೆಟ್ಗಳನ್ನು ಹೊಂದಿಸಬಹುದು.
- ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯಿಂದ ಪ್ರಾರಂಭಿಸಿ: ನಿಮ್ಮ ಮೊದಲ ಬಜೆಟ್ ಸರಳವಾಗಿ "ನಮ್ಮ ಪ್ರಸ್ತುತ p75 ಮೆಟ್ರಿಕ್ಗಳಿಗಿಂತ ಕೆಟ್ಟದಾಗಬೇಡಿ" ಎಂದಿರಬಹುದು.
- ಸ್ಪರ್ಧಾತ್ಮಕ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಬಳಸಿ: ನಿಮ್ಮ ಪ್ರಮುಖ ಸ್ಪರ್ಧಿಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ. ಅವರ LCP ಸ್ಥಿರವಾಗಿ 2 ಸೆಕೆಂಡುಗಳಿಗಿಂತ ಕಡಿಮೆಯಿದ್ದರೆ, ನಿಮ್ಮ ಸ್ವಂತ ಸೈಟ್ಗೆ 4 ಸೆಕೆಂಡುಗಳ ಬಜೆಟ್ ಸಾಕಷ್ಟು ಮಹತ್ವಾಕಾಂಕ್ಷೆಯಲ್ಲ.
- ಮೊದಲು ಪ್ರಮಾಣದ ಮೇಲೆ ಗಮನಹರಿಸಿ: ಆಸ್ತಿ ಗಾತ್ರಗಳಿಗೆ ಬಜೆಟ್ ಮಾಡುವುದು (ಉದಾ., ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ < 200KB, ಒಟ್ಟು ಪುಟದ ತೂಕ < 1MB) ಸಮಯ-ಆಧಾರಿತ ಮೆಟ್ರಿಕ್ಗಳಿಗಿಂತ ಆರಂಭದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸುಲಭವಾಗಿರುತ್ತದೆ.
- ಬಜೆಟ್ಗಳನ್ನು ಸಂವಹನ ಮಾಡಿ: ಸಂಪೂರ್ಣ ಉತ್ಪನ್ನ ತಂಡ—ಡೆವಲಪರ್ಗಳು, ವಿನ್ಯಾಸಕರು, ಉತ್ಪನ್ನ ವ್ಯವಸ್ಥಾಪಕರು, ಮತ್ತು ಮಾರಾಟಗಾರರು—ಬಜೆಟ್ಗಳನ್ನು ಮತ್ತು ಅವು ಏಕೆ ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ಹಂತ 3: ನಿಮ್ಮ ಸಾಧನಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಸಂಯೋಜಿಸಿ
ನಿಮ್ಮ ತಂಡದ ಬಜೆಟ್, ತಾಂತ್ರಿಕ ಪರಿಣತಿ, ಮತ್ತು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮೂಲಸೌಕರ್ಯಕ್ಕೆ ಸರಿಹೊಂದುವ ಸಾಧನಗಳ ಗುಂಪನ್ನು ಆಯ್ಕೆಮಾಡಿ.
- CI/CD ಇಂಟಿಗ್ರೇಷನ್: ನಿಮ್ಮ ಪೈಪ್ಲೈನ್ಗೆ ಲೈಟ್ಹೌಸ್ ಸಿಐ ಅನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಪ್ರಾರಂಭಿಸಿ. ಪ್ರತಿ ಪುಲ್ ವಿನಂತಿಯ ಮೇಲೆ ಚಲಾಯಿಸಲು ಅದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. ಆರಂಭದಲ್ಲಿ, ನಿಮ್ಮ ಬಜೆಟ್ಗಳನ್ನು `error` ಬದಲಿಗೆ ಕೇವಲ `warn` ಗೆ ಹೊಂದಿಸಿ. ಇದು ತಂಡವು ತಮ್ಮ ವರ್ಕ್ಫ್ಲೋವನ್ನು ನಿರ್ಬಂಧಿಸದೆ ಡೇಟಾವನ್ನು ನೋಡಲು ಒಗ್ಗಿಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
- ಡೇಟಾ ದೃಶ್ಯೀಕರಣ: ನೀವು ಸಂಗ್ರಹಿಸುವ ಎಲ್ಲಾ ಡೇಟಾವು ಗೋಚರಿಸದಿದ್ದರೆ ನಿಷ್ಪ್ರಯೋಜಕ. ಕಾಲಾನಂತರದಲ್ಲಿ ನಿಮ್ಮ ಪ್ರಮುಖ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳನ್ನು ಸ್ಥಾಪಿಸಿ (ನಿಮ್ಮ RUM ಪ್ರೊವೈಡರ್ನ UI ಅಥವಾ ಗ್ರಾಫಾನಾದಂತಹ ಆಂತರಿಕ ಸಾಧನವನ್ನು ಬಳಸಿ). ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಮನಸ್ಸಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳಲು ಈ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳನ್ನು ಹಂಚಿದ ಪರದೆಗಳಲ್ಲಿ ಪ್ರದರ್ಶಿಸಿ.
- ಎಚ್ಚರಿಕೆ: ನಿಮ್ಮ RUM ಡೇಟಾಕ್ಕಾಗಿ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. ನಿಮ್ಮ p75 LCP ಇದ್ದಕ್ಕಿದ್ದಂತೆ 20% ರಷ್ಟು ಹೆಚ್ಚಾದರೆ ಅಥವಾ ಹೊಸ ನಿಯೋಜನೆಯ ನಂತರ ನಿಮ್ಮ CLS ಸ್ಕೋರ್ ಕೆಳಗಿಳಿದರೆ ನಿಮಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೂಚನೆ ನೀಡಬೇಕು.
ಹಂತ 4: ಪುನರಾವರ್ತಿಸಿ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ಸಂಸ್ಕೃತಿಯನ್ನು ಬೆಳೆಸಿರಿ
ನಿರಂತರ ಮೇಲ್ವಿಚಾರಣೆ ಒಂದು-ಬಾರಿಯ ಸೆಟಪ್ ಅಲ್ಲ; ಇದು ಪರಿಷ್ಕರಣೆ ಮತ್ತು ಸಾಂಸ್ಕೃತಿಕ ಬದಲಾವಣೆಯ ನಿರಂತರ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ.
- ಎಚ್ಚರಿಕೆಯಿಂದ ವಿಫಲತೆಗೆ ಸರಿಸಿ: ನಿಮ್ಮ ತಂಡವು CI ತಪಾಸಣೆಗಳೊಂದಿಗೆ ಆರಾಮದಾಯಕವಾದ ನಂತರ, ಬಜೆಟ್ ಪ್ರತಿಪಾದನೆಗಳನ್ನು `warn` ನಿಂದ `error` ಗೆ ಬದಲಾಯಿಸಿ. ಇದು ಕಾರ್ಯಕ್ಷಮತೆಯ ಬಜೆಟ್ ಅನ್ನು ಹೊಸ ಕೋಡ್ಗೆ ಕಠಿಣ ಅವಶ್ಯಕತೆಯನ್ನಾಗಿ ಮಾಡುತ್ತದೆ.
- ನಿಯಮಿತವಾಗಿ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ: ಕಾರ್ಯಕ್ಷಮತೆಯ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ನಿಯಮಿತ ಸಭೆಗಳನ್ನು (ಉದಾ., ಪ್ರತಿ ಎರಡು ವಾರಕ್ಕೊಮ್ಮೆ) ನಡೆಸಿ. ಪ್ರವೃತ್ತಿಗಳನ್ನು ಚರ್ಚಿಸಿ, ಗೆಲುವುಗಳನ್ನು ಆಚರಿಸಿ, ಮತ್ತು ಯಾವುದೇ ಹಿನ್ನಡೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ.
- ದೋಷಾರೋಪಣೆ-ರಹಿತ ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸಿ: ಗಮನಾರ್ಹ ಹಿನ್ನಡೆ ಸಂಭವಿಸಿದಾಗ, ಅದನ್ನು ದೋಷಾರೋಪಣೆ ಮಾಡುವ ಅವಕಾಶವಾಗಿ ನೋಡದೆ, ಕಲಿಕೆಯ ಅವಕಾಶವಾಗಿ ಪರಿಗಣಿಸಿ. ಏನಾಯಿತು, ಸ್ವಯಂಚಾಲಿತ ರಕ್ಷಣೆಗಳು ಅದನ್ನು ಏಕೆ ಹಿಡಿಯಲಿಲ್ಲ, ಮತ್ತು ನೀವು ವ್ಯವಸ್ಥೆಯನ್ನು ಹೇಗೆ ಸುಧಾರಿಸಬಹುದು ಎಂಬುದನ್ನು ವಿಶ್ಲೇಷಿಸಿ.
- ಪ್ರತಿಯೊಬ್ಬರನ್ನೂ ಜವಾಬ್ದಾರರನ್ನಾಗಿ ಮಾಡಿ: ಕಾರ್ಯಕ್ಷಮತೆ ಒಂದು ಹಂಚಿಕೆಯ ಜವಾಬ್ದಾರಿಯಾಗಿದೆ. ದೊಡ್ಡ ಹೀರೋ ವೀಡಿಯೊದ ವಿನ್ಯಾಸಕರ ಆಯ್ಕೆ, ಹೊಸ ಟ್ರ್ಯಾಕಿಂಗ್ ಸ್ಕ್ರಿಪ್ಟ್ನ ಮಾರಾಟಗಾರರ ಸೇರ್ಪಡೆ, ಮತ್ತು ಲೈಬ್ರರಿಯ ಡೆವಲಪರ್ನ ಆಯ್ಕೆ ಎಲ್ಲವೂ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ. ಒಂದು ಬಲವಾದ ಕಾರ್ಯಕ್ಷಮತೆಯ ಸಂಸ್ಕೃತಿಯು ಈ ನಿರ್ಧಾರಗಳನ್ನು ಅವುಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯ ವೆಚ್ಚವನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡು ಮಾಡಲಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಸುಧಾರಿತ ಪರಿಕಲ್ಪನೆಗಳು ಮತ್ತು ಭವಿಷ್ಯದ ಪ್ರವೃತ್ತಿಗಳು
ನಿಮ್ಮ ತಂತ್ರವು ಪ್ರಬುದ್ಧವಾದಂತೆ, ನೀವು ಕಾರ್ಯಕ್ಷಮತೆ ಮೇಲ್ವಿಚಾರಣೆಯ ಹೆಚ್ಚು ಸುಧಾರಿತ ಕ್ಷೇತ್ರಗಳನ್ನು ಅನ್ವೇಷಿಸಬಹುದು.
- ಮೂರನೇ-ಪಕ್ಷದ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವುದು: ಮೂರನೇ-ಪಕ್ಷದ ಸ್ಕ್ರಿಪ್ಟ್ಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯ ಪ್ರಭಾವವನ್ನು ಪ್ರತ್ಯೇಕಿಸಿ ಮತ್ತು ಅಳೆಯಿರಿ. ವೆಬ್ಪೇಜ್ಟೆಸ್ಟ್ನಂತಹ ಸಾಧನಗಳು ನಿರ್ದಿಷ್ಟ ಡೊಮೇನ್ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ ಮೊದಲು-ನಂತರದ ಹೋಲಿಕೆಯನ್ನು ತೋರಿಸಬಹುದು. ಕೆಲವು RUM ಪರಿಹಾರಗಳು ಮೂರನೇ ಪಕ್ಷಗಳಿಂದ ಡೇಟಾವನ್ನು ಟ್ಯಾಗ್ ಮಾಡಬಹುದು ಮತ್ತು ವಿಭಾಗಿಸಬಹುದು.
- ಸರ್ವರ್-ಸೈಡ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪ್ರೊಫೈಲಿಂಗ್ ಮಾಡುವುದು: ಸರ್ವರ್-ಸೈಡ್ ರೆಂಡರಿಂಗ್ (SSR) ಅಥವಾ ಸ್ಟ್ಯಾಟಿಕ್ ಸೈಟ್ ಜನರೇಷನ್ (SSG) ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ, ಟೈಮ್ ಟು ಫಸ್ಟ್ ಬೈಟ್ (TTFB) ನಂತಹ ಮೆಟ್ರಿಕ್ಗಳು ನಿರ್ಣಾಯಕವಾಗುತ್ತವೆ. ನಿಮ್ಮ ಮೇಲ್ವಿಚಾರಣೆಯು ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯಗಳನ್ನು ಒಳಗೊಂಡಿರಬೇಕು.
- AI-ಚಾಲಿತ ವೈಪರೀತ್ಯ ಪತ್ತೆ: ಅನೇಕ ಆಧುನಿಕ APM/RUM ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳು ನಿಮ್ಮ ಕಾರ್ಯಕ್ಷಮತೆಯ ಡೇಟಾದಲ್ಲಿನ ವೈಪರೀತ್ಯಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪತ್ತೆಹಚ್ಚಲು ಯಂತ್ರ ಕಲಿಕೆಯನ್ನು ಸಂಯೋಜಿಸುತ್ತಿವೆ, ಎಚ್ಚರಿಕೆಯ ಆಯಾಸವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತವೆ ಮತ್ತು ಬಳಕೆದಾರರು ಮಾಡುವ ಮೊದಲು ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತವೆ.
- ಎಡ್ಜ್ನ ಉದಯ: ಹೆಚ್ಚು ಲಾಜಿಕ್ ಎಡ್ಜ್ ನೆಟ್ವರ್ಕ್ಗಳಿಗೆ (ಉದಾ., ಕ್ಲೌಡ್ಫ್ಲೇರ್ ವರ್ಕರ್ಸ್, ವರ್ಸೆಲ್ ಎಡ್ಜ್ ಫಂಕ್ಷನ್ಸ್) ಚಲಿಸುತ್ತಿದ್ದಂತೆ, ಎಡ್ಜ್ನಲ್ಲಿ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವುದು ಒಂದು ಹೊಸ ಗಡಿಯಾಗುತ್ತದೆ, ಇದಕ್ಕೆ ಬಳಕೆದಾರರಿಗೆ ಹತ್ತಿರವಿರುವ ಗಣನಾ ಸಮಯವನ್ನು ಅಳೆಯಬಲ್ಲ ಸಾಧನಗಳು ಬೇಕಾಗುತ್ತವೆ.
ತೀರ್ಮಾನ: ನಿರಂತರ ಪ್ರಯಾಣವಾಗಿ ಕಾರ್ಯಕ್ಷಮತೆ
ಮ್ಯಾನುಯಲ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಆಡಿಟ್ಗಳಿಂದ ನಿರಂತರ, ಸ್ವಯಂಚಾಲಿತ ಮೇಲ್ವಿಚಾರಣೆಯ ವ್ಯವಸ್ಥೆಗೆ ಪರಿವರ್ತನೆಯು ಯಾವುದೇ ಸಂಸ್ಥೆಗೆ ಪರಿವರ್ತನಾತ್ಮಕ ಹೆಜ್ಜೆಯಾಗಿದೆ. ಇದು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪ್ರತಿಕ್ರಿಯಾತ್ಮಕ, ನಿಯತಕಾಲಿಕ ಸ್ವಚ್ಛತಾ ಕಾರ್ಯದಿಂದ ಪೂರ್ವಭಾವಿ, ಸಾಫ್ಟ್ವೇರ್ ಡೆವಲಪ್ಮೆಂಟ್ ಜೀವನಚಕ್ರದ ಅವಿಭಾಜ್ಯ ಅಂಗವಾಗಿ ಮರುರೂಪಿಸುತ್ತದೆ.
ಸಿಂಥೆಟಿಕ್ ಮಾನಿಟರಿಂಗ್ನ ನಿಯಂತ್ರಿತ, ಸ್ಥಿರ ಪ್ರತಿಕ್ರಿಯೆ, ರಿಯಲ್ ಯೂಸರ್ ಮಾನಿಟರಿಂಗ್ನ ನೈಜ-ಪ್ರಪಂಚದ ಸತ್ಯ, ಮತ್ತು CI/CD ಮತ್ತು ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಬಜೆಟ್ಗಳುನ ವರ್ಕ್ಫ್ಲೋ ಇಂಟಿಗ್ರೇಷನ್ ಅನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ, ನೀವು ನಿಮ್ಮ ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ರಕ್ಷಿಸುವ ಒಂದು ಶಕ್ತಿಯುತ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸುತ್ತೀರಿ. ಈ ವ್ಯವಸ್ಥೆಯು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹಿನ್ನಡೆಗಳ ವಿರುದ್ಧ ರಕ್ಷಿಸುತ್ತದೆ, ನಿಮ್ಮ ತಂಡಕ್ಕೆ ಡೇಟಾ-ಆಧಾರಿತ ನಿರ್ಧಾರಗಳನ್ನು ಮಾಡಲು ಅಧಿಕಾರ ನೀಡುತ್ತದೆ, ಮತ್ತು ಅಂತಿಮವಾಗಿ ನೀವು ನಿರ್ಮಿಸುವುದು ಕೇವಲ ಕ್ರಿಯಾತ್ಮಕವಲ್ಲ, ಆದರೆ ನಿಮ್ಮ ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗೆ ವೇಗವಾದ, ಪ್ರವೇಶಿಸಬಹುದಾದ, ಮತ್ತು ಸಂತೋಷಕರವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಪ್ರಯಾಣವು ಒಂದೇ ಹೆಜ್ಜೆಯಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ನಿಮ್ಮ ಮೂಲರೇಖೆಯನ್ನು ಸ್ಥಾಪಿಸಿ, ನಿಮ್ಮ ಮೊದಲ ಬಜೆಟ್ ಅನ್ನು ಹೊಂದಿಸಿ, ಮತ್ತು ನಿಮ್ಮ ಮೊದಲ ಸ್ವಯಂಚಾಲಿತ ತಪಾಸಣೆಯನ್ನು ಸಂಯೋಜಿಸಿ. ಕಾರ್ಯಕ್ಷಮತೆ ಒಂದು ಗಮ್ಯಸ್ಥಾನವಲ್ಲ; ಇದು ಸುಧಾರಣೆಯ ನಿರಂತರ ಪ್ರಯಾಣ, ಮತ್ತು ಆಟೋಮೇಷನ್ ನಿಮ್ಮ ಅತ್ಯಂತ ವಿಶ್ವಾಸಾರ್ಹ ದಿಕ್ಸೂಚಿಯಾಗಿದೆ.